Applications for managing data processing systems with distributed architecture are commonly used to control remote resources from a single central point of the system. A typical example consists of a licensing application; this tool allows metering the usage of desired software products on target computers (or endpoints) of a network, under the control of a dedicated server; generally, the information collected on the server is then used for charge-back accounting. A commercial licensing application available on the market is the “Tivoli License Manager (TLM)” by IBM Corporation.
The management of the endpoints often requires the uploading onto the server of configuration information either of the logical type or of the physical type for each endpoint. For example, the logical configuration information indicates the software products that are used on the endpoint, while the physical configuration information indicates the hardware structure of the endpoint (such as the number of microprocessors). In this way, the server can associate the correct charging rate to the usage of every software product; indeed, the charging rate of most software products varies according to the hardware configuration of the endpoint where they run (for example, increasing with the number of microprocessors available).
In the above-described scenario, a problem is experienced whenever the endpoints do not consist of real computers. For example, the endpoints may be implemented by virtual machines or logical partitions on a (physical) host machine; those solutions are becoming more and more popular, since they allow simulating a high number of (logical) guest machines that are very easy to maintain (without requiring the proliferation of different real computers).
However, in this condition the endpoints do not have the possibility of gathering the physical configuration information that is required by the server (for example, the number of microprocessors that are actually available); indeed, this information is typically hidden to the guest machines, because of either a deliberate design choice or an intrinsic limitation of the environment. In any case, even when some sort of access to the physical configuration information of the corresponding host machine is available, it is generally impossible for the guest machines to get a full picture of its hardware structure.
All of the above may impair the correct operation of the licensing application (and more generally of any other system management application). Particularly, the server is unable to associate the correct charging rate to the usage of the software products on the different endpoints (for example, because the number of their microprocessors is not available). This drawback is more acute when the server receives inaccurate information that may be available to the endpoints. A typical example is a software product in execution on a number of virtual machines (each on giving the appearance of a real computer having the sole control of the whole resources of the host machine); in this case, the server may be mislead to consider the software product in use on multiple computers, each one having the same hardware structure of the corresponding host machine. This involves the risk of having a wrong charge-back for the usage of the software products.